#pragma once
template<class T, class container>
class queue {
public:
	void push(const T& x) {
		_con.push_back(x);
	}
	void pop() {
		_con.pop_front();
	}
	bool empty() {
		return _con.size() == 0;
	}
	const T& front() {
		return _con.front();
	}
	size_t size() {
		return _con.size();
	}
private:
	container _con;
};